package Sort;
/**
 * 测试冒泡排序
 */

import java.util.Arrays;
//a.length-i  之前比较出的最大值不参与此次比较的次数
class TestBubbleSort {
    public static void main(String[] args) {
        //1.创建无序数组
        int []  a =  {13,45,27,48,32,11};//length=6,轮数=6-1=5轮
        //2.引用方法+赋值输出最终结果
        int[] b = method(a);//还是用数组来接受和保存
        System.out.println("排序完毕后的结果："+ Arrays.toString(b));//赋值后的数组b
    }
       //3.创建方法
    private static int[] method(int[] a) { //注意参数和返回值
        //4.嵌套for遍历冒泡排序+外层轮数循环
        for (int i = 1; i <=a.length-1; i++) {//i为第1轮，i必须为1开始,共5轮
            System.out.println("显示第"+i+"轮");
            //5.内层比较数值循环
            for (int j = 0; j <a.length-(i); j++) {//j为下标必须从0开始，即0~4；每轮共比较5次
                //6.判断前后两个值
                if(a[j]>a[j+1]){
                    //7.交换数值
                    int t = a[j];
                     a[j]=a[j+1];
                     a[j+1]=t;
                }
            }  
            //8.查看输出遍历结果
            System.out.println("第"+i+"轮的遍历排序结果为："+Arrays.toString(a));//传的是数组a
        }
        return a;
    }
}
